Additive manufacturing of a three-dimensional object

ABSTRACT

A system is configured to form a three dimensional (3D) object having multiple zones within the three dimensional object. The zones differ from each other according to system operational parameters. The system is operable to perform a method including: (1) receiving a solid model file, (2) generating a shell of the 3D object based on the file, (3) dividing the shell into zones, (4) defining or selecting parameters for forming the zones, (5) forming layer data defining layers of the 3D object, and creating a tool path from the layer data including merging layer data for the zones.

CROSS REFERENCE TO RELATED APPLICATIONS

This non-provisional patent application claims priority to U.S.Provisional Application Ser. No. 62/382,543, Entitled “IMPROVED ADDITIVEMANUFACTURING OF A THREE-DIMENSIONAL OBJECT” by Roy Sterenthal et al.,filed on Sep. 1, 2016, incorporated herein by reference under thebenefit of U.S.C. 119(e). This non-provisional patent application alsoclaims priority to U.S. Provisional Application Ser. No. 62/434,136,Entitled “IMPROVED ADDITIVE MANUFACTURING OF A THREE-DIMENSIONAL OBJECT”by Roy Sterenthal, filed on Dec. 14, 2016, incorporated herein byreference under the benefit of U.S.C. 119(e).

TECHNOLOGICAL FIELD

The present disclosure relates generally to additive manufacturing and,in particular, to improved additive manufacturing of a three-dimensionalobject including features such as creation of support structures,design-aware or otherwise creating multiple zones of respectiveadditive-manufacturing parameters, multi-exposure and/or use of multipleextruders, lasers or printheads.

BACKGROUND

In recent years, many different additive manufacturing techniques forthe fast production of three-dimensional (3D) objects have beendeveloped. Additive manufacturing and related variations thereof aresometimes referred to as 3D printing, solid imaging, solid freeformfabrication, rapid prototyping and manufacturing and the like. Additivemanufacturing includes many different techniques for formingthree-dimensional objects on a layer-by-layer basis from a buildmaterial utilizing layer or sliced data representing cross-sections ofthe objects. These techniques include, for example, extrusion-depositionor selective deposition modeling (SDM) techniques such as fuseddeposition modeling (FDM) and fused filament fabrication (FFF),stereolithography (SLA), polyjet printing (PJP), multi-jet printing(MJP), selective laser sintering (SLS), three-dimensional printing (3DP)techniques such as color-jet printing (CJP), and the like.

A number of additive manufacturing techniques form a three-dimensionalobject from a corresponding digital solid model, which is often providedby a computer-aided design system (this solid model at times referred toas a CAD model). The solid model may represent the object and itsstructural components by a collection of geometry. This solid model maybe exported to another form that represents the closed-form surfacegeometry of the object, which at times may be referred to as a shell. Insome examples, the shell of an object may take the form of a mesh ofpolygons (e.g., triangles), such as in the case of an STL (standardtessellation language) model or file. The shell of the object may thenbe sliced into layer data that defines layers of the shell. This layerdata may be formatted into an appropriate language that describes a toolpath for forming the object, which may be received by an additivemanufacturing system to manipulate build material to form the object ona layer-by-layer basis.

Although existing additive manufacturing techniques are adequate, it isalso generally desirable to improve on existing techniques.

BRIEF SUMMARY

Example implementations of the present disclosure are generally directedto an improved computing apparatus, method and computer-readable storagemedium for additive manufacturing of a three-dimensional objectincluding features such as creation of support structures, design-awareor otherwise creating multiple zones of respectiveadditive-manufacturing parameters, multi-exposure and/or use of multipleextruders, lasers or printheads.

The present disclosure thus includes, without limitation, the followingexample implementations. Some example implementations provide a methodof determining a type of support structure for a three-dimensionalobject formed by additive manufacturing, the method comprising receivingsolid model of the three-dimensional object; performing a geometricanalysis of the solid model to identify a region of thethree-dimensional object requiring a support structure; performingstress and warping analyses of the solid model at the region soidentified, the stress and warping analyses including one or moreheuristic algorithms applied to the solid model, and excluding finiteelement analysis of a corresponding finite element model of thethree-dimensional object; selecting a type of support structure to placeat the region so identified, the type of support structure beingselected from a plurality of types of support structure based on thestress and warping analyses so performed; and generating a shell of thethree-dimensional object based on the solid model, and including thesupport structure at the region so identified and of the type soselected.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, the solidmodel is composed of a mesh of polygons, and performing the geometricanalysis includes collecting neighboring polygons into the region of thethree-dimensional object requiring a support structure.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof,performing the stress and warping analyses includes a total stressanalysis comprising: producing vectors for respective ones of theneighboring polygons, including for each neighboring polygon, tracing aplurality of equally-distributed rays from the neighboring polygon to anouter circumference of an up-facing hemisphere of a sphere centered onthe neighboring polygon, and adding a plurality of vectors coincidentwith those of the plurality of rays that extend from the neighboringpolygon through the solid model, the plurality of vectors extending fromthe neighboring polygon to an outer surface of the solid model, theplurality of vectors being added to produce the vector for theneighboring polygon; and determining a total stress value for the regionfrom the vectors for the respective ones of the neighboring polygons.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, a subsetof the neighboring polygons is on the boundary of the region, andperforming the stress and warping analyses includes a corner stressanalysis comprising: producing vectors for respective ones of the subsetof the neighboring polygons, including for each neighboring polygon ofthe subset, tracing a plurality of equally-distributed rays from theneighboring polygon to an outer circumference of an up-facing hemisphereof a sphere centered on the neighboring polygon, and adding a pluralityof vectors coincident with those of the plurality of rays that extendfrom the neighboring polygon through the solid model, the plurality ofvectors extending from the neighboring polygon to a first of an outersurface of the solid model or the outer circumference of the up-facinghemisphere, the plurality of vectors being added to produce the vectorfor the neighboring polygon; and determining a corner stress value forthe region from the vectors for the respective ones of the subset of theneighboring polygons.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof,performing the stress and warping analyses includes a warping analysiscomprising: producing vectors for respective ones of the neighboringpolygons, including for each neighboring polygon, identifying aproximate region inside the solid model based on a normal from theneighboring polygon; tracing a plurality of equally-distributed raysfrom the proximate region to an outer circumference of a neighboringhemisphere of a sphere centered on the proximate region, adding a firstplurality of vectors extending from the proximate region to an outersurface of the solid model, the first plurality of vectors being addedto produce a first vector, adding a second plurality of vectorsextending from the proximate region to a first of the outer surface ofthe solid model or an outer circumference of a neighboring hemisphere ofa smaller, second sphere also centered on the proximate region, thesecond plurality of vectors being added to produce a second vector, andadding the first vector and the second vector to produce the vector forthe neighboring polygon; and determining a warping value for the regionfrom the vectors for the respective ones of the neighboring polygons.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof,performing the stress and warping analyses includes determining valuesof total stress, corner stress and warping, and wherein selecting thetype of support structure includes selecting the type of supportstructure based on the values of total stress, corner stress andwarping.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, the solidmodel of the three-dimensional object is in a coordinate system withorthogonal axes including x- and y-axes, and a z-axis, height is definedby distance from a bottommost region of the solid model in the directionof the z-axis, and the values of total stress, corner stress and warpinginclude an average total stress value, and wherein selecting the type ofsupport structure includes selecting a skirt-type support structure inan instance in which the height of the region is less than or equal to athreshold height, and the average total stress value is above athreshold total stress value.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, selectingthe type of support structure includes selecting a solid-type supportstructure in an instance in which the height of the region is greaterthan the threshold height but less than or equal to a second thresholdheight, and the average total stress value is above the threshold totalstress value.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof,generating the shell including the support structure includes generatingthe shell including the solid-type support structure with gaps definedtherein based on the height of the region and the average total stressvalue.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, thevalues of total stress, corner stress and warping include a maximumcorner stress value, and wherein selecting the type of support structureincludes selecting a cone-type support structure or a solid-wall-typesupport structure in an instance in which the maximum corner stressvalue is above a threshold corner stress value.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, thevalues of total stress, corner stress and warping include an averagewarping value, and wherein selecting the type of support structureincludes selecting a wall-type support structure in an instance in whichthe average warping value is below a threshold warping value.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof,generating the shell including the support structure includes generatingthe shell including the wall-type support structure with spacing,pattern and teeth parameters that are parameterized according to theaverage warping value.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, themethod further comprises: forming layer data defining a plurality oflayers of the shell for use in forming the three-dimensional object andthe support structure; and creating a tool path (sometimes referred toas a scan path) from the layer data for receipt by an additivemanufacturing system configured to manipulate build material to form thethree-dimensional object and the support structure on a layer-by-layerbasis.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, themethod further comprises divide the shell into zones and thereby formzones of the three-dimensional object; and defining or selecting a setof parameters for the additive manufacturing system to form each of thezones of the three-dimensional object, the set of parameters beingdifferent between the zones, and wherein creating the tool path includesmerging the layer data for the zones in the tool path.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes a laser configured to emit a beamonto build material to form the three-dimensional object on alayer-by-layer basis, and the set of parameters include values for oneor more of beam power, beam offset, laser speed, laser time delay, laseracceleration parameters or laser focus.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, the shellof the three-dimensional object is in a coordinate system withorthogonal axes including x- and y-axes, and a z-axis, and whereincreating the tool path includes one or more of (a) adding continuity inthe tool path for any beam offset that differs in the set of parametersbetween the zones, (b) including a finger joint in the tool path in thedirection of the z-axis where the zones of the three-dimensional objectare joined, (c) reorienting the tool path and/or hatch lineslayer-per-layer in the directions of the x- and y-axes, or (d)offsetting a contour endpoint of the tool path for each zone.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, (b)including the finger joint includes alternately applying an offset tothe zones in the directions of the x- and y-axes where the zones arejoined.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, (c)reorienting the tool path includes reorienting the tool path to therebyreorient hatch lines in the three-dimensional object formed by theadditive manufacturing system.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, (d)offsetting the contour includes adding approach and retract motions inthe tool path at the contour end points of the tool path where the zonesof the three-dimensional object are joined.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, dividingthe shell into zones includes receiving user input to overlaythree-dimensional volumes onto the shell, the three-dimensional volumesenclosing and thereby defining the zones of the three-dimensionalobject.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes a laser configured to emit a beamonto build material to form the three-dimensional object on alayer-by-layer basis, wherein dividing the shell into zones includesdefining a multi-exposure zone including another region of the shell andthereby the three-dimensional object to form without a supportstructure, the multi-exposure zone being associated with a set ofparameters for the additive manufacturing system, the set of parametersbeing different between the multi-exposure zone and thethree-dimensional object outside the multi-exposure zone, and whereincreating the tool path includes repeating the tool path within themulti-exposure zone.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, the setof parameters for the multi-exposure zone include a beam power and laserspeed that decrease energy exposure relative to outside themulti-exposure zone.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes first and second extrudersconfigured to dispense respective build material to form respectivelyfirst and second zones of the three-dimensional object on alayer-by-layer basis, and wherein creating the tool path comprisescreating first and second tool paths for respectively the first andsecond extruders, and includes merging the layer data for the first andsecond zones in the first and second tool paths.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes first and second lasersconfigured to emit respective beams onto build material to formrespectively first and second zones of the three-dimensional object on alayer-by-layer basis, and wherein creating the tool path comprisescreating first and second tool paths for respectively the first andsecond lasers, and includes merging the layer data for the first andsecond zones in the first and second tool paths.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes first and second printheadsconfigured to deliver respective binder onto build material to formrespectively first and second zones of the three-dimensional object on alayer-by-layer basis, and wherein creating the tool path comprisescreating first and second tool paths for respectively the first andsecond printheads, and includes merging the layer data for the first andsecond zones in the first and second tool paths.

Some example implementations provide a method of creating multiple zonesof parameters for a three-dimensional object formed by additivemanufacturing, the method comprising receiving solid model of thethree-dimensional object; generating a shell of the three-dimensionalobject based on the solid model; dividing the shell into zones andthereby form zones of the three-dimensional object; defining orselecting a set of parameters for the additive manufacturing system toform each of the zones of the three-dimensional object, the set ofparameters being different between the zones; forming layer datadefining a plurality of layers of the shell for use in forming the zonesand thereby the three-dimensional object; and creating a tool path fromthe layer data, and including merging the layer data for the zones, forreceipt by an additive manufacturing system configured to manipulatebuild material to form the three-dimensional object on a layer-by-layerbasis.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes a laser configured to emit a beamonto build material to form the three-dimensional object on alayer-by-layer basis, and the set of parameters include values for oneor more of beam power, beam offset, laser speed, laser time delay, laseracceleration parameters or laser focus.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, the shellof the three-dimensional object is in a coordinate system withorthogonal axes including x- and y-axes, and a z-axis, and whereincreating the tool path includes one or more of (a) adding continuity inthe tool path for any beam offset that differs in the set of parametersbetween the zones, (b) including a finger joint in the tool path in thedirection of the z-axis where the zones of the three-dimensional objectare joined, (c) reorienting the tool path layer-per-layer in thedirections of the x- and/or y-axes, or (d) offsetting a contour endpointof the tool path for each zone.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, (b)including the finger joint includes alternately applying an offset tothe zones in the directions of the x- and/or y-axes where the zones arejoined.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, (c)reorienting the tool path includes reorienting the tool path to therebyreorient hatch lines in the three-dimensional object formed by theadditive manufacturing system.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, (d)offsetting the contour includes adding approach and retract motions inthe tool path at the contour end points of the tool path where the zonesof the three-dimensional object are joined.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, definingthe sets of parameters includes receiving user input to overlaythree-dimensional volumes onto the shell, the three-dimensional volumesenclosing and thereby defining the zones of the three-dimensionalobject.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes a laser configured to emit a beamonto build material to form the three-dimensional object on alayer-by-layer basis, wherein dividing the shell into zones includesdefining a multi-exposure zone including another region of the shell andthereby the three-dimensional object to form without a supportstructure, the multi-exposure zone being associated with a set ofparameters for the additive manufacturing system, the set of parametersbeing different between the multi-exposure zone and thethree-dimensional object outside the multi-exposure zone, and whereincreating the tool path includes repeating the tool path within themulti-exposure zone.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, the setof parameters for the multi-exposure zone include a beam power and laserspeed that decrease energy exposure relative to outside themulti-exposure zone.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes first and second extrudersconfigured to dispense respective build material to form respectivelyfirst and second zones of the three-dimensional object on alayer-by-layer basis, and wherein creating the tool path comprisescreating first and second tool paths for respectively the first andsecond extruders, and includes merging the layer data for the first andsecond zones in the first and second tool paths.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes first and second lasersconfigured to emit respective beams onto build material to formrespectively first and second zones of the three-dimensional object on alayer-by-layer basis, and wherein creating the tool path comprisescreating first and second tool paths for respectively the first andsecond lasers, and includes merging the layer data for the first andsecond zones in the first and second tool paths.

In some example implementations of the method of any preceding or anysubsequent example implementation, or any combination thereof, theadditive manufacturing system includes first and second printheadsconfigured to deliver respective binder onto build material to formrespectively first and second zones of the three-dimensional object on alayer-by-layer basis, and wherein creating the tool path comprisescreating first and second tool paths for respectively the first andsecond printheads, and includes merging the layer data for the first andsecond zones in the first and second tool paths.

Some example implementations provide a computing apparatus fordetermining a type of support structure for a three-dimensional objectformed by additive manufacturing, the computing apparatus comprising aprocessor and a memory storing executable instructions that in responseto execution by the processor cause the computing apparatus to at leastperform the method of any preceding example implementation, or anycombination thereof.

Some example implementations provide a computing apparatus for creatingmultiple zones of parameters for a three-dimensional object formed byadditive manufacturing, the computing apparatus comprising a processorand a memory storing executable instructions that in response toexecution by the processor cause the computing apparatus to at leastperform the method of any preceding example implementation, or anycombination thereof.

Some example implementations provide a computer-readable storage mediumfor determining a type of support structure for a three-dimensionalobject formed by additive manufacturing. The computer-readable storagemedium is non-transitory and has computer-readable program code portionsstored therein that, in response to execution by processing circuitry,cause a computing apparatus to at least perform the method of anypreceding example implementation, or any combination thereof.

Some example implementations provide a computer-readable storage mediumfor creating multiple zones of parameters for a three-dimensional objectformed by additive manufacturing. The computer-readable storage mediumis non-transitory and has computer-readable program code portions storedtherein that, in response to execution by processing circuitry, cause acomputing apparatus to at least perform the method of any precedingexample implementation, or any combination thereof.

These and other features, aspects, and advantages of the presentdisclosure will be apparent from a reading of the following detaileddescription together with the accompanying drawings, which are brieflydescribed below. The present disclosure includes any combination of two,three, four or more features or elements set forth in this disclosure,regardless of whether such features or elements are expressly combinedor otherwise recited in a specific example implementation describedherein. This disclosure is intended to be read holistically such thatany separable features or elements of the disclosure, in any of itsaspects and example implementations, should be viewed as intended,namely to be combinable, unless the context of the disclosure clearlydictates otherwise.

It will therefore be appreciated that this Brief Summary is providedmerely for purposes of summarizing some example implementations so as toprovide a basic understanding of some aspects of the disclosure.Accordingly, it will be appreciated that the above described exampleimplementations are merely examples and should not be construed tonarrow the scope or spirit of the disclosure in any way. Other exampleimplementations, aspects and advantages will become apparent from thefollowing detailed description taken in conjunction with theaccompanying drawings which illustrate, by way of example, theprinciples of some described example implementations.

BRIEF DESCRIPTION OF THE DRAWING(S)

Having thus described example implementations of the disclosure ingeneral terms, reference will now be made to the accompanying drawings,which are not necessarily drawn to scale, and wherein:

FIG. 1 is an illustration of a system including a computing apparatusand additive manufacturing system, in accordance with exampleimplementations of the present disclosure;

FIG. 2 illustrates a first embodiment of an additive manufacturingsystem which may correspond to the additive manufacturing system of FIG.1;

FIG. 3 illustrates a second embodiment of an additive manufacturingsystem which may correspond to the additive manufacturing system of FIG.1;

FIG. 4 illustrates a third embodiment of an additive manufacturingsystem which may correspond to the additive manufacturing system of FIG.1;

FIG. 5 illustrates a shell representation of a solid model of athree-dimensional object, in accordance with some exampleimplementations;

FIG. 6 illustrates aspects of a total stress analysis and a warpinganalysis for a solid model;

FIG. 7 illustrates aspects of a total stress analysis and a warpinganalysis for a solid model;

FIG. 8 illustrates a shell for a solid model similar to the solid modelof FIG. 5, and including support structures of various types that may beselected according to example implementations;

FIG. 9 illustrates the shell of FIG. 8 and highlights the solid-typesupport structure with gaps defined therein, according to exampleimplementations;

FIG. 10 illustrates a graphical user interface (GUI) that may bepresented to a user according to example implementations, and from whichvarious aspects may be carried out;

FIG. 11 illustrates a technique for merging zones with differentparameters for additive manufacturing a three-dimensional objectaccording to a first example implementation;

FIG. 12 illustrates a technique for merging zones with differentparameters for additive manufacturing a three-dimensional objectaccording to a second example implementation;

FIG. 13A illustrates a technique for merging zones with differentparameters for additive manufacturing a three-dimensional objectaccording to a third example implementation;

FIG. 13B illustrates a technique for merging zones with differentparameters for additive manufacturing a three-dimensional objectaccording to a fourth example implementation;

FIG. 14A illustrates a technique for merging zones with differentparameters for additive manufacturing a three-dimensional objectaccording to a fifth example implementation;

FIG. 14B illustrates a technique for merging zones with differentparameters for additive manufacturing a three-dimensional objectaccording to a sixth example implementation;

FIG. 15 illustrates a difference in contour that may result frommultiple zones without correction according to an exampleimplementation;

FIG. 16 illustrates exemplary techniques for merging zones to providecorrection according to a example implementations;

FIG. 17A illustrates a shell including an internal region for creationof a zone having particular parameters to implement multi-exposure toavoid a support structure therein, according to an exampleimplementation;

FIG. 17B illustrates detail taken from FIG. 17A;

FIG. 17C illustrates detail taken from FIG. 17B;

FIG. 18 illustrates a tool path optimization using thermal or residualstress analysis, according to example implementations;

FIG. 19 illustrates different zones within an exemplary threedimensional object;

FIG. 20A illustrates a first exemplary division of a solid model, shellor melt pool between multiple extruders, lasers or printheads of anadditive manufacturing system, according to an example implementation;

FIG. 20B illustrates a second exemplary division of a solid model, shellor melt pool between multiple extruders, lasers or printheads of anadditive manufacturing system, according to an example implementation;

FIG. 21 is a flowchart illustrating various operations in a method ofdetermining a type of support structure for a three-dimensional objectformed by additive manufacturing, according to some exampleimplementations;

FIG. 22 illustrates various operations in a method of creating multiplezones of parameters for a three-dimensional object formed by additivemanufacturing, according to some example implementations; and

FIG. 23 illustrates an apparatus that in some examples may correspond tothe computing apparatus of the system illustrated in FIG. 1.

DETAILED DESCRIPTION

Some implementations of the present disclosure will now be describedmore fully hereinafter with reference to the accompanying drawings, inwhich some, but not all implementations of the disclosure are shown.Indeed, various implementations of the disclosure may be embodied inmany different forms and should not be construed as limited to theimplementations set forth herein; rather, these example implementationsare provided so that this disclosure will be thorough and complete, andwill fully convey the scope of the disclosure to those skilled in theart. For example, unless otherwise indicated, reference something asbeing a first, second or the like should not be construed to imply aparticular order. Also, for example, reference may be made herein toquantitative measures, values, relationships or the like (e.g., planar,coplanar, perpendicular). Unless otherwise stated, any one or more ifnot all of these may be absolute or approximate to account foracceptable variations that may occur, such as those due to engineeringtolerances or the like. Like reference numerals refer to like elementsthroughout.

Example implementations of the present disclosure relate generally toadditive manufacturing. Referring now to FIG. 1, a system 100 isillustrated according to example implementations of the presentdisclosure. The system may include any of a number of differentapparatuses, subsystems and the like for performing one or morefunctions or operations. As shown, for example, the system may include acomputing apparatus 102 and an additive manufacturing system 104. Thecomputing apparatus is generally configured to receive and prepare datafor receipt by the additive manufacturing system, and from which theadditive manufacturing system may be configured to manipulate buildmaterial to form a physical, tangible three-dimensional object 106.

The additive manufacturing system 104 may be configured to form theobject 106 in accordance with any of a number of additive manufacturingtechniques. Examples of suitable additive manufacturing techniquesinclude extrusion-deposition or selective deposition modeling (SDM)techniques such as fused deposition modeling (FDM) and fused filamentfabrication (FFF), stereolithography (SLA), polyjet printing (PJP),multi-jet printing (MJP), selective laser sintering (SLS),three-dimensional printing (3DP) techniques such as color-jet printing(CJP), and the like. FIGS. 2, 3 and 4 illustrate respective additivemanufacturing systems 200, 300 and 400, which may in some examplescorrespond to the additive manufacturing system of FIG. 1.

FIG. 2 illustrates an additive manufacturing system 200 that may beconfigured to operate according to any of a number of differentextrusion-based or selective deposition modeling (SDM) techniques suchas fused deposition modeling (FDM), fused filament fabrication (FFF) orthe like. As shown, the additive manufacturing system 200 may includeone or more extruders 202, 204 configured to dispense respective buildmaterial 206, 208 to form a three-dimensional object 210 (e.g., object106) on a layer-by-layer basis. Examples of suitable build materialsinclude thermoplastics, high-density polyethylene (HDPE), eutecticmetals, edible materials, rubber, modelling clay, plasticine, RTVsilicone, porcelain, metal clay and the like.

FIG. 3 illustrates an additive manufacturing system 300 that may beconfigured to operate according to additive manufacturing techniquessuch as stereolithography (SLA), selective laser sintering (SLS) or thelike. As shown, the additive manufacturing system 300 may include alaser 302 configured to emit a beam 304 onto build material 306 to forma three-dimensional object 308 (e.g., object 106) on a layer-by-layerbasis. Here, examples of suitable build materials include photopolymers,thermoplastics, metal powders, ceramic powders and the like. In analternative embodiment, element 302 can be an electron beam 304generator.

FIG. 4 illustrates an additive manufacturing system 400 that may beconfigured to operate according to three-dimensional printing (3DP)techniques such as color-jet printing (CJP) or the like. As shown, theadditive manufacturing system may include one or more printheads 402,404 configured to deliver respective binder 406, 408 onto build material410 to form a three-dimensional object 412 (e.g., object 106) on alayer-by-layer basis. Examples of suitable build materials includestarch, gypsum plaster, sand, acrylic powder, sugar and the like, whileexamples of suitable binders include water or water-based liquids,calcium carbonate, cyanoacrylate, other types of liquids and the like.

Returning to FIG. 1, in some example implementations, the computingapparatus 102 may be used for determining a type of support structurefor the three-dimensional object 106 formed by the additivemanufacturing system 104. According to these example implementations,the computing apparatus may receive a solid model of thethree-dimensional object. The solid model may be defined using b-rep(boundary representation) geometry definition or by any polygonalrepresentation. FIG. 5 illustrates a shell 500 representation of a solidmodel of a three-dimensional object in a coordinate system 502 withorthogonal axes including x- and y-axes, and a z-axis, and in whichheight h may be defined by distance from a bottommost region 504 of theshell and correspondingly the solid model in the direction of thez-axis.

A. Support Structure Creation

In accordance with example implementations, the computing apparatus 102may perform a geometric analysis of the solid model to identify a regionof the three-dimensional object requiring a support structure. In someexamples, the solid model is composed of a mesh of polygons (e.g.,triangles). In these examples, the geometric analysis may includecollecting neighboring polygons into the region of the three-dimensionalobject requiring a support structure. This may accomplished in someexamples by identification of down-facing polygons and collectingneighboring ones of the down-facing polygons into the region of thethree-dimensional object requiring a support structure. The down-facingpolygons may be identified in a number of different manners such asthose having a normal above a certain threshold angle.

In some examples, the computing apparatus 102 may further apply one ormore heuristic algorithms to complete the region. A number of thesealgorithms are particularly useful for a solid model composed of a meshof triangles but may also be applied to a mesh of other types ofpolygons. One example of a suitable heuristic algorithm reformats themesh to include equilateral triangles (polygons) to avoid long trianglesor unequally-spread triangulation. Another example of a suitableheuristic algorithm optimizes identification of down-facing trianglesbased on neighboring triangles, and based on the neighboring triangles,more triangles may be added to the region, or groups of triangle may bemerged or separated.

Another example of a suitable heuristic algorithm smooths the region toavoid a region with a zig-zag contour that may otherwise be created bythe region including triangles that fall close to the threshold angle.This heuristic algorithm may smooth the region based on neighboringtriangles and other geometric values.

In yet another example of a suitable heuristic algorithm, one or morefilters may be applied to exclude less- or none-relevant areas such assmall or thin areas that are not considered as local lowest geometrythat are more likely to require a support structure. Neighboringtriangles may be analyzed to exclude from a region any area that may notbe relevant for purposes of support structure creation. Neighboring datamay be analyzed in order to optimize the region such that looking aheadat the neighboring vertex data imply on the relevancy of the triangleson the border of the region or that may be included or not in theregion. Sections of the region may be filtered as a consequence of thegeometry direction and understanding of where supports are needed.Another filter may identify the bottommost region, and as appropriate,enlarge a collection of neighboring triangles to include those in andbeyond the bottommost region to create a sufficient region for placementof a support structure.

In accordance with example implementations, different types of supportstructures may be used to reduce the effects of residual stresses in thethree-dimensional object 106. Residual stresses are a major reason forthe build failures, geometrical distortions and cracks in thethree-dimensional object. Different types of support structures may beused to reduce these effects via heat removal and anchoring. Realphysical simulations of the build process that may be accomplished bytechniques such as finite element analysis (FEA), however, are known tobe extremely computation intensive, and thus take tens of hours. Thecomputing apparatus 102 of example implementations may use analternative to the FEA approach, based on empirical knowledge to providesufficient, approximate results within reasonable time, allowing usersto minimize try and error cycle while preparing three-dimensionalobjects for manufacture.

More particularly, the computing apparatus 102 may select a particulartype of support structure to place at the region so identified, and maydo so according to stress and warping analyses of the solid model at theregion. The stress and warping analyses may include a total stressanalysis, corner stress analysis and/or warping analysis. The stress andwarping analyses may include one or more heuristic algorithms applied tothe solid model, and exclude finite element analysis of a correspondingfinite element model of the three-dimensional object. The computingapparatus may then form layer data defining a plurality of layers of theshell for use in forming the three-dimensional object 106 and thesupport structure, and create a tool path from the layer data forreceipt by the additive manufacturing system 104. As will beappreciated, the solid model typically describes the geometry of thethree-dimensional object. The representation of the three-dimensionalobject described by the solid model is via the shell.

The stress and warping analyses may include volume distribution analyseson a number of heuristic assumptions. For example, it may be assumedthat heat distribution, transfer and absorption is a function of volume(and area) surrounding the region requiring a support structure. Anotherassumption may be that stress is concentrated around volume boundaries,which may enable a more selective analysis to improve performance of theanalyses (reduce computation requirements). In some examples,three-dimensional data is analyzed, but the results may be visualizedand analyses performed mostly on the boundary of the three-dimensionalobject, which may also reduce computation requirements.

The volume distribution analyses may be implemented as a ray tracing,where rays are equally distributed across a hemisphere, which adds adirection dimension to the analyses. A quantity of rays and density ofregion over which the analyses are performed may be defined via a“resolution” parameter that has several accuracy levels. The results maythen be stored on (aligned with) the boundaries of the solid model ofthe three-dimensional object for further use.

FIG. 6 illustrates aspects of a total stress analysis 600 for a solidmodel 602 according to some example implementations. In some examples,the total stress analysis includes production of vectors 604 forrespective ones of the neighboring polygons. This may in turn includefor each neighboring polygon, tracing a plurality of equally-distributedrays 604 from the neighboring polygon to an outer circumference of anup-facing hemisphere 606 of a sphere 608 centered on the neighboringpolygon, and adding a plurality of vectors 610 coincident with those ofthe plurality of rays that extend from the neighboring polygon throughthe solid model. The vectors of the plurality of vectors extend from theneighboring polygon to an outer surface of the solid model, and areadded to produce the vector 612 for the neighboring polygon. A totalstress value for the region may then be determined from the vectors forthe respective ones of the neighboring polygons.

Corner stress analysis may be implemented in a manner similar to totalstress, but may focus on the neighboring polygons on the boundary of theregion, and may limit the lengths of the vectors. According to asuitable corner stress analysis, a subset of the neighboring polygons ison the boundary of the region. The corner stress analysis may includeproduction of vectors for respective ones of the subset of theneighboring polygons. This may include for each neighboring polygon ofthe subset, tracing a plurality of equally-distributed rays from theneighboring polygon to an outer circumference of an up-facing hemisphereof a sphere centered on the neighboring polygon, and adding a pluralityof vectors coincident with those of the plurality of rays that extendfrom the neighboring polygon through the solid model. The vectors of theplurality of vectors extend from the neighboring polygon to a first ofan outer surface of the solid model or the outer circumference of theup-facing hemisphere, and are added to produce the vector for theneighboring polygon. A corner stress value for the region may then bedetermined from the vectors for the respective ones of the subset of theneighboring polygons.

FIG. 7 illustrates aspects of a warping analysis 700 for a solid model702 according to some example implementations. Similar to the otheranalyses, the warping analysis may include production of vectors forrespective ones of the neighboring polygons. This may include for eachneighboring polygon, identifying a proximate region 704 inside the solidmodel based on a normal from the neighboring polygon, and perhaps alsosome correction to improve the application to more vertical areas. Theanalysis may include tracing a plurality of equally-distributed rays 706from the proximate region to an outer circumference of a neighboringhemisphere 708 of a sphere 710 centered on the proximate region.

As also shown in FIG. 7, a first plurality of vectors 712 extending fromthe proximate region to an outer surface of the solid model may be addedto produce a first vector 714. Similarly, a second plurality of vectors716 extending from the proximate region to a first of the outer surfaceof the solid model or an outer circumference of a neighboring hemisphere718 of a smaller, second sphere 720 also centered on the proximateregion may be added to produce a second vector 722. The first vector andthe second vector may be added to produce the vector for the neighboringpolygon, and a warping value for the region may be determined from thevectors for the respective ones of the neighboring polygons.

Regardless of the exact stress and warping analyses performed, thecomputing apparatus 102 may select a type of support structure to placeat the region so identified, with the type of support structure beingselected from a plurality of types of support structure based on thestress and warping analyses. This may include selection of the type ofsupport structure based on the values of total stress, corner stress andwarping. The computing apparatus may then generate a shell of thethree-dimensional object based on the solid model, and including thesupport structure at the region so identified and of the type soselected.

Example types of suitable support structures include a skirt-typesupport structure, solid-type support structure, cone-type supportstructure, solid-wall-type support structure, wall-type supportstructure, skirt-type support structure, lattice-type support structureand the like. FIG. 8 illustrates a shell 800 for a solid model similarto the solid model 500 of FIG. 5, and including a solid-type supportstructure 802, cone-type support structure 804, solid-wall-type supportstructure 806, wall-type support structure 808 and lattice-type supportstructure 810.

In general, different types of support structures may be used fordifferent purposes. Cone or solid-wall support structures, for example,may be used for anchoring, to prevent distortion or warping of thethree-dimensional object 106 at specific points. A solid or similarsupport structure may be used to extend the geometry of thethree-dimensional object down and thereby address total stress to makesure the accumulated stress of the three-dimensional object does notcreate distortions. In other examples, wall support structures may beused for heat removal in areas that accumulate heat, which may be theconsequence of thin geometry in specific layers, or of massive sinteringin the same area between multiple layers.

In accordance with example implementations, then, the computingapparatus 102 may select a skirt-type support structure in an instancein which the height of the region is less than or equal to a thresholdheight, and the average total stress value is above a threshold totalstress value. This may correspond to a region physically close to aplate on which the three-dimensional object 106 is formed.

The computing apparatus 102 may select a solid-type support structure inan instance in which the height of the region is greater than thethreshold height but less than or equal to a second threshold height,and the average total stress value is above the threshold total stressvalue. This may further include the addition of gaps defined in thesolid-type support structure based on the height of the region and theaverage total stress value. FIG. 9 illustrates the shell 800 of FIG. 8and highlights the solid-type support structure 802 with gaps 902defined therein.

The values of total stress, corner stress and warping include maximumvalues, average values or the like, and the type of support structuremay be selected based on these values. For example, the computingapparatus 102 may select a cone-type support structure or asolid-wall-type support structure in an instance in which a maximumcorner stress value is above a threshold corner stress value. Or thecomputing apparatus may select a wall-type support structure in aninstance in which an average warping value is below a threshold warpingvalue. Similar to the solid-type support structure, the wall-typesupport structure may include spacing, pattern and teeth parameters thatare parameterized according to the average warping value.

The spacing, pattern and teeth parameters may be used to increase theability of the support structure to remove heat while maintaining theability to easily remove the structure from the resultingthree-dimensional object 106. In this regard, where the average warpingvalue is high, it may be desirable to increase the contact area betweenthe three-dimensional object and wall-type support structure to achievemore optimal heat removal and distortion prevention. But sinceincreasing the contact area may increase the difficulty in removing thesupport structure post-process, the computing apparatus 102 may optimizethe contact area through the aforementioned parameters based on theaverage warping value.

B. Multiple Zones of Respective Parameters

According to another aspect of example implementations, the computingapparatus 102 may divide the shell into (multiple) zones and therebyform zones of the three-dimensional object 106 formed by the additivemanufacturing system 104. According to this aspect, a set of parametersmay be defined or selected for the additive manufacturing system to formeach of the zones of the three-dimensional object, and the set ofparameters may differ between the zones. In examples in which theadditive manufacturing system includes a laser (e.g., additivemanufacturing system 300 with laser 302), the sets of parameters mayinclude values for one or more of beam power, beam offset, laser speed,laser time delay, laser acceleration parameters or laser focus, whichmay impact a melt pool that the build material may form as thethree-dimensional object is formed.

Other examples of suitable parameters may include additional parameterssuch as layer thickness, hatching pattern (e.g., hexagon, parallel,checkmate or combinations thereof), number of boundary (contour)profiles, volume size of internal (core) geometry and the like. Layerthickness may impact the speed with which the three-dimensional object106 is formed, with larger thicknesses being formed more quickly.Hatching pattern may vary for different volumes and geometry types, suchas spiral continuous, hexagon with zig-zag core, and the like. Thenumber of outer boundary profiles may impact surface quality, whereincreased quality may be achieved by forming multiple contours along theshape boundaries (inside offsetting). And volume size of internal (core)geometry may enable selection of advanced parameters for geometries withlarger core volume.

In some examples, the sets of parameters may be at least partiallyselected by user input to overlay three-dimensional volumes onto theshell. In these examples, the three-dimensional volumes may enclose andthereby define the zones of the three-dimensional object. Thethree-dimensional volumes, then, may be associated with respective onesof the sets of parameters for the additive manufacturing system 104 toform the zones. FIG. 10 illustrates a graphical user interface (GUI)1000 that may be presented to a user according to exampleimplementations, and in which the shell 800 of FIG. 8 may be presented.As shown, a three-dimensional volume 1002 (at times referred to as avirtual or non-printed object) may overlay the shell, and enclose andthereby define a zone of the three-dimensional object (another zone maybe defined as that outside of the zone or any other zone). Zones mayoverlay one another, and a priority may be defined between them in suchcase.

In some examples, a zone and its parameters may be user defined orselected, either completely or through customization of appropriatedefaults. The volumes that define the zones may be defined within thedesign environment and taken into account when the layer data and toolpath are created. In some examples, a zone may be predefined or userdefined but accompanied by predefined parameters for a particular typeor manufacture of structure within the zone to be formed. In one exampledescribed in greater detail below, a zone may be automatically definedfor multi-exposure in which support structures are to be avoided. Inanother example, a zone may be defined for excessive build material thatwill be later milled from the three-dimensional object 106, and for thiszone, the parameters may describe a rough/fast manufacture of thestructure within the zone that will be later removed. In another,similar example, zones may be defined to include support structures thatwill be later removed from the three-dimensional object, and for thesezones, the parameters may describe a fast manufacture of the supportstructures within the zones that will be later removed. In yet anotherexample, a zone may be defined for a structure optimized to contain amicro-structure lattice, and the parameters may be automaticallyassigned to optimize formation of the lattice. In yet another example,also described in greater detail below, zones may be automaticallydefined based on received thermal or residual stress analysisthree-dimensional data (e.g., from finite-element-based analysissolutions) where one or more tool path parameters may be changed forbetter results of the three-dimensional object.

After the zones are defined, the computing apparatus 102 may merge thelayer data for the zones in the tool path created for the additivemanufacturing system 104. As shown in FIG. 11, for example, thecomputing apparatus may add continuity in the tool path for any beamoffset that differs in the set of parameters between the zones, such aswhen moving from an offset of 50 microns to 100 microns.

Additionally or alternatively, as shown in FIG. 12, the computingapparatus may include a finger joint in the tool path in the directionof the z-axis where the zones of the three-dimensional object arejoined. This may include alternate application of a horizontal offset tothe zones in the directions of the x- and/or y-axes where the zones arejoined. In some examples, the vertical offset may account for adifference in layer thickness between the zones with the alternateapplication of the offset being based on the least common multiplebetween the layer thicknesses when the layer thicknesses vary from onezone to another. FIG. 13A illustrates a lesser ideal of the alteringthat may result in gaps or loose build material, which should be avoidedby correct and as-needed application of the altering so it issynchronized between layer thicknesses as shown in FIG. 13B.

As shown in FIGS. 14A and 14B, the computing apparatus 102 may reorientthe tool path layer-per-layer in the directions of the x- and y-axes,which may include reorienting the tool path to thereby reorient hatchlines in the three-dimensional object formed by the additivemanufacturing system 104. Reorientation is a solution for avoidingweakness along the three-dimensional object 106 section line, and alsostarting point of the set of parameters for a particular zone that mayotherwise create an undesired pattern within the three-dimensionalobject. This may be more if not most beneficial when creating many suchsection lines as part of different created zones with different sets ofparameters. By changing the orientation of the tool path and thereby thehatch lines, weakness in the object that may otherwise result fromrepeating the same hatch lines may be avoided.

FIG. 15 illustrates a difference in contour that may result frommultiple zones without correction. In some examples, then, the computingapparatus 102 may offset a contour endpoint of the tool path for eachzone, which may include the addition of approach and retract motions inthe tool path at the contour end points of the tool path where the zonesof the three-dimensional object are joined. This may avoid visible lineon the outer boundary surface, and small displacements of internalfeatures.

As shown in FIG. 16 illustrates how continuity in the tool path may beadded by gradual merge of different melt pool sizes, which may besimilarly applied to contours or hatch lines. When the additivemanufacturing system 104 is incapable of gradually changing the toolpath, the computing apparatus 102 may automatically include approach andretract motions in the tool path, which may create a smooth transitionbetween different beam offsets.

C. Multi-Exposure

In some aspects of example implementations of the present disclosure, aregion of the solid model and corresponding three-dimensional object 106may be identified where removal of support structures is likelyproblematic or impossible, which may be the case for some internalregions. To reduce if not minimize or otherwise avoid supportstructures, the computing apparatus 102 may create a multi-exposure zonewith particular parameters to gradually solidify or reduce stress in theregion. The parameters may create a state in which the build materialforms the three-dimensional object in the multi-exposure zone withdecreased or increased laser speed and beam power to achieve decreasedenergy exposure on the same path in the multi-exposure zone multipletimes (e.g., 3 or 4 times) until reaching a desired result and movingon. In these aspects, in instances in which the three-dimensional objectincludes other zones, the layer data for this multi-exposure zone may bemerged with those other zones, such as in a manner similar to thatdescribed above.

In some examples, then, division of the shell into zones may includedefinition of a multi-exposure zone including another region of theshell and thereby the three-dimensional object to form without a supportstructure. In these examples, the multi-exposure zone may be associatedwith a set of parameters for the additive manufacturing system to formthe multi-exposure zone of the three-dimensional object. The set ofparameters here may be different between the zone and thethree-dimensional object outside the multi-exposure zone. In someexamples in which the additive manufacturing system 104 includes a laser(e.g., additive manufacturing system 300 with laser 302), the set ofparameters for the multi-exposure zone include a beam power and laserspeed that decrease energy exposure relative to outside the zone. Thetool path created by the computing apparatus may also repeat the toolpath within the multi-exposure zone. FIGS. 17A, 17B and 17C illustrate ashell 1700 including an internal region for which the computingapparatus 102 may create a multi-exposure zone having particularparameters to enable the system 100 to avoid a support structuretherein.

D. Tool Path Optimization for Temperature/Stress

In some aspects of example implementations of the present disclosure,zones may be automatically defined based on either or both thermalanalysis or residual stress analysis, and used to optimize or otherwisechange (from a default) or set (generally “set”) one or more tool pathparameters and thereby the tool path for better results of thethree-dimensional object 106. Suitable analyses include real physicalsimulations of the build process by techniques such as FEA, with orwithout any support structures added to reduce possible displacements,plastic strain and heat. These support structures, as well as the plateon which the three-dimensional object is formed, and any other machininginformation may influence and be accounted for in the analyses.

In some examples, the thermal and residual stress analyses outputrespectively temperature data and stress data layer-by-layer or acrossall layers of the three-dimensional object 106. This data may be outputin any of a number of different forms, such as temperature maps andstress maps, and may include a timeline of the temperature and stress asthey accumulate over the simulated additive manufacturing process. Insome examples, the stress data may be vector data including both adirection and magnitude.

In accordance with these aspects of example implementations of thepresent disclosure, a less desirable if not problematic region (one ormore) of the solid model and corresponding three-dimensional object 106may be identified from either or both the temperature data or stressdata. In some examples, this region is one in which the temperature dataindicates temperature above a threshold temperature, or the stress dataindicates stress having a magnitude above a threshold stress or anundesirable direction. The region is identified by the computingapparatus 102, either automatically from either or both the temperaturedata or stress data, or through user input from a display of thetemperature data or stress data such as respectively a temperature mapor stress map.

To reduce if not minimize or otherwise avoid undesirable temperature ordisplacement caused by stress in the region so identified, the computingapparatus 102 may create a zone (one or more) in which one or more toolpath parameters are set for this purpose. In some examples, the zone iscreated concurrent with and corresponds to the region identified eitherautomatically by the computing apparatus, or through user input. Inthese aspects, in instances in which the three-dimensional objectincludes other zones, the layer data for this zone may be merged withthose other zones (including a multi-exposure zone), such as in a mannersimilar to that described above.

The tool path parameters and thereby the tool path for the zone may beset in any of a number of different manners. To address undesirabletemperature and/or displacement caused by stress, in some examples, toolpath parameter(s) that define the hatching pattern or hatch lines areset to define the pattern, or set the length, orientation or order ofthe hatch lines (change, reorient or reorder if relative to a default)to reduce the temperature, or reduce (magnitude) or reorient (direction)displacement, in the zone. In a more specific example, the hatch linesare set to more evenly distribute them over layers (and thereby reducetemperature) in the zone. In another more specific example, the length,orientation or order of hatch lines is set to define shorter lines in adirection different from the direction of stress in the zone, as opposedto longer lines in the direction of stress in the zone. In any of theseand other examples, the tool path parameter(s) may be set in addition toor in lieu of other parameters described above to achieve the desiredeffect.

In some examples, then, division of the shell into zones may includedefinition of a zone including another region of the shell and therebythe three-dimensional object within which to set tool path parameter(s)to address undesirable temperature and/or stress in the region. In theseexamples, the tool path parameter(s) may be determined based ontemperature data and/or stress data layer-by-layer or across all layersof the three-dimensional object 106, such as from FEA-basedanalysis/analyses. The tool path parameter(s) here may be differentbetween the zone and the three-dimensional object outside the zone. FIG.18 illustrates a top view of a shell 1800 including a region for whichthe computing apparatus 102 may create a zone having particular toolpath parameter(s) to orient the hatch lines approximately orthogonal tothe direction of stress in the three-dimensional object. FIG. 19illustrates a shell 1900 including regions of high displacement and highplastic strain for which the computing apparatus 102 may createrespective zones having particular tool path parameter(s) to address thedisplacement and stress, as described above.

E. Multiple Extruders, Lasers, Printheads

In some examples additive manufacturing system 104 may include andutilize multiple extruders, lasers or printheads to form thethree-dimensional object 106. That is, in examples in which the additivemanufacturing system 104 includes extruders (e.g., additivemanufacturing system 200 with extruders 202, 204), the additivemanufacturing system may include first and second extruders configuredto dispense respective build material. Similarly, in some examples inwhich the additive manufacturing system includes a laser (e.g., additivemanufacturing system 300 with laser 302), the additive manufacturingsystem may include first and second lasers configured to emit respectivebeams onto build material. Likewise, in some examples in which theadditive manufacturing system includes printheads (e.g., additivemanufacturing system 400 with printheads 402, 404), the additivemanufacturing system may include first and second printheads configuredto deliver respective binder onto build material.

In these examples, the computing apparatus 102 may create first andsecond tool paths for respectively the first and second extruders,lasers or printheads, and merge the layer data for the first and secondzones in the first and second tool paths. This may be accomplished in amanner similar to that described above, but may additionally addresschallenges in synchronization and calibration between the extruders,lasers or printheads, as well as laser stability issues betweendifferent lasers. The computing apparatus may automatically or with userinput, divide the solid model or shell between the extruders, lasers orprintheads in a manner that optimizes their use, such as minimizing thedivision crossing internal features, as shown in FIGS. 20A and 20B,and/or applying the same or similar merge techniques as described above.As shown in FIGS. 20A and 20B, a gap may be included to function as asomewhat demilitarized zone in which each of the extruders, lasers orprintheads may operate. In some examples, the gap may be alternatelycovered by the extruders, lasers or printheads between layers (FIG. 20Afor one layer, and FIG. 20B for another), with each of the extruders,lasers or printheads applying a respective hatch pattern. The system 100may optimize the structure. It may be larger (leaving the system morefreedom) or very narrow (specified tolerance value), and in someexamples may be user controlled.

FIG. 21 illustrates various operations in a method 2100 of determining atype of support structure for a three-dimensional object formed byadditive manufacturing, according to some example implementations of thepresent disclosure. As shown in blocks 2102, 2104, the method includesreceiving solid model of the three-dimensional object, and performing ageometric analysis of the solid model to identify a region of thethree-dimensional object requiring a support structure. The methodincludes performing stress and warping analyses of the solid model atthe region so identified, the stress and warping analyses including oneor more heuristic algorithms applied to the solid model, and excludingfinite element analysis of a corresponding finite element model of thethree-dimensional object, as shown in block 2106. The method includesselecting a type of support structure to place at the region soidentified, with the type of support structure being selected from aplurality of types of support structure based on the stress and warpinganalyses so performed, as shown at block 2108. And the method includesgenerating a shell of the three-dimensional object based on the solidmodel, and including the support structure at the region so identifiedand of the type so selected, as shown at block 2110.

FIG. 22 illustrates various operations in a method 2200 of creatingmultiple zones of parameters for a three-dimensional object formed byadditive manufacturing, according to some example implementations of thepresent disclosure. As shown in blocks 2202, 2204, 2206 the methodincludes receiving solid model of the three-dimensional object,generating a shell of the three-dimensional object based on the solidmodel, and dividing the shell into zones and thereby form zones of thethree-dimensional object. The method includes defining or selecting aset of parameters for the additive manufacturing system to form each ofthe zones of the three-dimensional object, the sets of parameters beingdifferent between the zones, as shown in block 2208. The method includesforming layer data defining a plurality of layers of the shell for usein forming the zones and thereby the three-dimensional object, as shownin block 2210. And the method includes creating a tool path (e.g., asingle tool path) from the layer data, and including merging the layerdata for the zones, for receipt by an additive manufacturing systemconfigured to manipulate build material to form the three-dimensionalobject on a layer-by-layer basis, as shown in block 2212.

FIG. 23 illustrates an apparatus 2300 that in some examples maycorrespond to the computing apparatus 102 of FIG. 1. In some examples,the apparatus may be provided by more than one apparatus connected to orotherwise in communication with one another in a number of differentmanners, such as directly or indirectly by wire or via a wired orwireless network or the like.

Generally, the apparatus 2300 may comprise, include or be embodied inone or more fixed or portable electronic devices. Examples of suitableelectronic devices include a smartphone, tablet computer, laptopcomputer, desktop computer, workstation computer, server computer or thelike. The apparatus may include one or more of each of a number ofcomponents such as, for example, a processor 2302 connected to a memory2304. In this regard, the apparatus may include hardware configured tofunction as or otherwise implement operations according to exampleimplementations, alone or under direction of one or more computerprogram code instructions, program instructions or executablecomputer-readable program code instructions (at times generally referredto as “computer programs,” e.g., software, firmware, etc.) from acomputer-readable storage medium.

The processor 2302 is generally any piece of computer hardware capableof processing information such as, for example, data, computer programsand/or other suitable electronic information. The processor is composedof a collection of electronic circuits some of which may be packaged asan integrated circuit or multiple interconnected integrated circuits (anintegrated circuit at times more commonly referred to as a “chip”). Theprocessor may be configured to execute computer programs, which may bestored onboard the processor or otherwise stored in the memory (of thesame or another apparatus).

The memory 2304 is generally any piece of computer hardware capable ofstoring information such as, for example, data, computer programs and/orother suitable information either on a temporary basis and/or apermanent basis. The memory may include volatile and/or non-volatilememory, and may be fixed or removable. In various instances, the memorymay be referred to as a computer-readable storage medium that isnon-transitory and capable of storing information, and distinguishablefrom computer-readable transmission media such as electronic transitorysignals capable of carrying information from one location to another.Computer-readable medium as described herein generally refers to acomputer-readable storage medium or computer-readable transmissionmedium.

In addition to the memory 2304, the processor 2302 may also be connectedto one or more interfaces for displaying, transmitting and/or receivinginformation. The interfaces may include a communications interface 2306and/or one or more user interfaces. The communications interface may beconfigured to transmit and/or receive information, such as to and/orfrom the apparatus 2300 and other apparatus(es), network(s) or the like.The communications interface may be configured to transmit and/orreceive information by physical (wired) and/or wireless communicationslinks.

The user interfaces may include a display 2308 and/or one or more userinput interfaces 2310. The display may be configured to present orotherwise display information to a user. The user input interface may beconfigured to receive information from a user into the apparatus 2300,such as for processing, storage and/or display. Suitable examples ofuser input interfaces include a microphone, image or video capturedevice, keyboard or keypad, joystick, touch-sensitive surface (separatefrom or integrated into a touchscreen), biometric sensor or the like.The user interfaces may further include one or more interfaces forcommunicating with peripherals such as printers, scanners, additivemanufacturing systems or the like.

As indicated above, program code instructions may be stored in memory(e.g., memory 2304), and executed by a processor (e.g., processor 2302),to implement functions of the computing apparatus 102 described herein.As will be appreciated, any suitable program code instructions may beloaded onto a programmable apparatus (e.g., apparatus 2300) from acomputer-readable storage medium to produce a particular machine, suchthat the particular machine becomes a means for implementing thefunctions specified herein. These program code instructions may also bestored in a computer-readable storage medium that can direct a computer,a processor or other programmable apparatus to function in a particularmanner to thereby generate a particular machine or particular article ofmanufacture. The instructions stored in the computer-readable storagemedium may produce an article of manufacture, where the article ofmanufacture becomes a means for implementing functions described herein.The program code instructions may be retrieved from a computer-readablestorage medium and loaded into a computer, processor or otherprogrammable apparatus to configure the computer, processor or otherprogrammable apparatus to execute operations to be performed on or bythe computer, processor or other programmable apparatus.

Retrieval, loading and execution of the program code instructions may beperformed sequentially such that one instruction is retrieved, loadedand executed at a time. In some example implementations, retrieval,loading and/or execution may be performed in parallel such that multipleinstructions are retrieved, loaded, and/or executed together. Executionof the program code instructions may produce a computer-implementedprocess such that the instructions executed by the computer, processoror other programmable apparatus provide operations for implementingfunctions described herein.

Execution of instructions by a processor, or storage of instructions ina computer-readable storage medium, supports combinations of operationsfor performing the specified functions. It will also be understood thatone or more functions, and combinations of functions, may be implementedby special purpose hardware-based computer systems and/or processorswhich perform the specified functions, or combinations of specialpurpose hardware and program code instructions.

More information regarding aspects of example implementations of thepresent disclosure may be found in the Appendix hereto.

Many modifications and other implementations of the disclosure set forthherein will come to mind to one skilled in the art to which thedisclosure pertains having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the disclosure is not to be limited to the specificimplementations disclosed and that modifications and otherimplementations are intended to be included within the scope of theappended claims. Moreover, although the foregoing descriptions and theassociated drawings describe example implementations in the context ofcertain example combinations of elements and/or functions, it should beappreciated that different combinations of elements and/or functions maybe provided by alternative implementations without departing from thescope of the appended claims. In this regard, for example, differentcombinations of elements and/or functions than those explicitlydescribed above are also contemplated as may be set forth in some of theappended claims. Although specific terms are employed herein, they areused in a generic and descriptive sense only and not for purposes oflimitation.

What is claimed is:
 1. An apparatus for creating multiple zones ofparameters for a three-dimensional object formed by additivemanufacturing, the apparatus comprising a processor and a memory storingexecutable instructions that in response to execution by the processorcause the apparatus to at least: receive solid model of thethree-dimensional object; generate a shell of the three-dimensionalobject based on the solid model; divide the shell into zones and therebyform zones of the three-dimensional object; define or select a set ofparameters for the additive manufacturing system to form each of thezones of the three-dimensional object, the set of parameters beingdifferent between the zones; form layer data defining a plurality oflayers of the shell for use in forming the zones and thereby thethree-dimensional object; and create a tool path from the layer data,and including the apparatus being caused to merge the layer data for thezones, for receipt by an additive manufacturing system configured tomanipulate build material to form the three-dimensional object on alayer-by-layer basis; the additive manufacturing system includes a laserconfigured to emit a beam onto build material to form thethree-dimensional object on a layer-by-layer basis, and the set ofparameters include values for one or more of beam power, beam offset,laser speed, laser time delay, laser acceleration parameters, laserfocus, layer thickness, hatching pattern, number of boundary or contourprofiles; the shell of the three-dimensional object is in a coordinatesystem with orthogonal axes including x- and y-axes, and a z-axis, andwherein the apparatus being caused to create the tool path includesbeing caused to one or more of (a) add continuity in the tool path forany beam offset that differs in the set of parameters between the zones,(b) include a finger joint in the tool path in the direction of thez-axis where the zones of the three-dimensional object are joined, (c)reorient the tool path layer-per-layer in the directions of the x-and/or y-axes, or (d) offset a contour endpoint of the tool path foreach zone.
 2. The apparatus of claim 1, wherein the apparatus beingcaused to (b) include the finger joint includes being caused toalternately apply an offset to the zones in the directions of the x-and/or y-axes where the zones are joined.
 3. The apparatus of claim 1,wherein the apparatus being caused to (c) reorient the tool pathincludes being caused to reorient the tool path to thereby reorienthatch lines in the three-dimensional object formed by the additivemanufacturing system.
 4. The apparatus of claim 1, wherein the apparatusbeing caused to (d) offset the contour includes being caused to addapproach and retract motions in the tool path at the contour end pointsof the tool path where the zones of the three-dimensional object arejoined.
 5. The apparatus of claim 1, wherein the apparatus being causedto divide the shell into zones includes being caused to receive userinput to overlay three-dimensional volumes onto the shell, thethree-dimensional volumes enclosing and thereby defining the zones ofthe three-dimensional object.
 6. The apparatus of claim 1, wherein thezones are automatically defined based on one or more of a thermalanalysis and a stress analysis.
 7. A method of creating multiple zonesof parameters for a three-dimensional object formed by additivemanufacturing, the method comprising: receiving solid model of thethree-dimensional object; generating a shell of the three-dimensionalobject based on the solid model; dividing the shell into zones andthereby form zones of the three-dimensional object; defining orselecting a set of parameters for the additive manufacturing system toform each of the zones of the three-dimensional object, the set ofparameters being different between the zones; forming layer datadefining a plurality of layers of the shell for use in forming the zonesand thereby the three-dimensional object; and creating a tool path fromthe layer data, and including merging the layer data for the zones, forreceipt by an additive manufacturing system configured to manipulatebuild material to form the three-dimensional object on a layer-by-layerbasis; the additive manufacturing system includes a laser configured toemit a beam onto build material to form the three-dimensional object ona layer-by-layer basis, and the sets of parameters include values forone or more of beam power, beam offset, laser speed, laser time delay,laser acceleration parameters, laser focus, layer thickness, hatchingpattern, number of boundary or contour profiles; the shell of thethree-dimensional object is in a coordinate system with orthogonal axesincluding x- and y-axes, and a z-axis, and wherein creating the toolpath includes one or more of (a) adding continuity in the tool path forany beam offset that differs in the set of parameters between the zones,(b) including a finger joint in the tool path in the direction of thez-axis where the zones of the three-dimensional object are joined, (c)reorienting the tool path layer-per-layer in the directions of the x-and/or y-axes, or (d) offsetting a contour endpoint of the tool path foreach zone.
 8. The method of claim 7, wherein (b) including the fingerjoint includes alternately applying an offset to the zones in thedirections of the x- and/or y-axes where the zones are joined.
 9. Themethod of claim 7, wherein (c) reorienting the tool path includesreorienting the tool path to thereby reorient hatch lines in thethree-dimensional object formed by the additive manufacturing system.10. The method of claim 7, wherein (d) offsetting the contour includesadding approach and retract motions in the tool path at the contour endpoints of the tool path where the zones of the three-dimensional objectare joined.
 11. The method of claim 7, wherein dividing the shell intozones includes receiving user input to overlay three-dimensional volumesonto the shell, the three-dimensional volumes enclosing and therebydefining the zones of the three-dimensional object.
 12. The method ofclaim 7 wherein the zones are automatically defined based on one or moreof a thermal analysis and a stress analysis.
 13. A computer-readablestorage medium for creating multiple zones of parameters for athree-dimensional object formed by additive manufacturing, thecomputer-readable storage medium being non-transitory and havingcomputer-readable program code portions stored therein that in responseto execution by a processor cause an apparatus to at least: receivesolid model of the three-dimensional object; generate a shell of thethree-dimensional object based on the solid model; divide the shell intozones and thereby form zones of the three-dimensional object; define orselect a set of parameters for the additive manufacturing system to formeach of the zones of the three-dimensional object, the set of parametersbeing different between the zones; form layer data defining a pluralityof layers of the shell for use in forming the zones and thereby thethree-dimensional object; and create a tool path from the layer data,and including the apparatus being caused to merge the layer data for thezones, for receipt by an additive manufacturing system configured tomanipulate build material to form the three-dimensional object on alayer-by-layer basis; the additive manufacturing system includes a laserconfigured to emit a beam onto build material to form thethree-dimensional object on a layer-by-layer basis, and the set ofparameters include values for one or more of beam power, beam offset,laser speed, laser time delay, laser acceleration parameters, laserfocus, layer thickness, hatching pattern, number of boundary or contourprofiles; the shell of the three-dimensional object is in a coordinatesystem with orthogonal axes including x- and y-axes, and a z-axis, andwherein the apparatus being caused to create the tool path includesbeing caused to one or more of (a) add continuity in the tool path forany beam offset that differs in the set of parameters between the zones,(b) include a finger joint in the tool path in the direction of thez-axis where the zones of the three-dimensional object are joined, (c)reorient the tool path layer-per-layer in the directions of the x-and/or v-axes, or (d) offset a contour endpoint of the tool path foreach zone.
 14. The computer-readable storage medium of claim 13, whereinthe apparatus being caused to (b) include the finger joint includesbeing caused to alternately apply an offset to the zones in thedirections of the x- and/or y-axes where the zones are joined.
 15. Thecomputer-readable storage medium of claim 13, wherein the apparatusbeing caused to (c) reorient the tool path includes being caused toreorient the tool path to thereby reorient hatch lines in thethree-dimensional object formed by the additive manufacturing system.16. The computer-readable storage medium of claim 13, wherein theapparatus being caused to (d) offset the contour includes being causedto add approach and retract motions in the tool path at the contour endpoints of the tool path where the zones of the three-dimensional objectare joined.
 17. The computer-readable storage medium of claim 13,wherein the apparatus being caused to divide the shell into zonesincludes being caused to receive user input to overlay three-dimensionalvolumes onto the shell, the three-dimensional volumes enclosing andthereby defining the zones of the three-dimensional object.
 18. Thecomputer-readable storage medium of claim 13, wherein the zones areautomatically defined based on one or more of a thermal analysis and astress analysis.